# near model CODE resource # jump table entries: 0-9 (10 of them) 00000000 0000 0000 ori.b D0, 0x0 00000004 0000 0072 ori.b D0, 0x72 /* 'r' */ export_0: 00000008 4278 0A4A clr.w [0x00000A4A /* FPState */] 0000000C 9DCE sub.l A6, A6 0000000E 2C3C 5354 5253 move.l D6, 0x53545253 /* 'STRS' */ 00000014 4EBA 032A jsr [PC + 0x32A /* 00000340 */] 00000018 41FA FFE6 lea.l A0, [PC - 0x1A /* 00000000, value 0x0, cstring "" */] 0000001C 208C move.l [A0], A4 0000001E 4EBA 0098 jsr [PC + 0x98 /* 000000B8 */] 00000022 4EBA 029A jsr [PC + 0x29A /* 000002BE */] 00000026 4267 clr.w -[A7] 00000028 4879 0000 FFFF push.l 0xFFFF 0000002E 486F 0004 pea.l [A7 + 0x4] 00000032 4857 pea.l [A7] 00000034 3F3C 0001 move.w -[A7], 0x1 00000038 223A FFCA move.l D1, [PC - 0x36 /* 00000004, value 0x72 'r', cstring "" */] 0000003C 4EB5 1000 jsr [A5 + D1.w] 00000040 4EFA 0070 jmp [PC + 0x70 /* 000000B2 */] 00000044 48E7 FFF8 movem.l -[A7], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4 00000048 3E2F 003C move.w D7, [A7 + 0x3C] 0000004C 50F8 0A5E st [0x00000A5E /* ResLoad */] 00000050 598F subq.l A7, 4 00000052 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */ 00000058 3F07 move.w -[A7], D7 0000005A A9A0 syscall GetResource 0000005C 201F move.l D0, [A7]+ 0000005E 673A beq +0x3C /* 0000009A */ 00000060 2640 movea.l A3, D0 00000062 2453 movea.l A2, [A3] 00000064 082A 0000 0001 btst.b [A2 + 0x1], 0x0 0000006A 6724 beq +0x26 /* 00000090 */ 0000006C 4A12 tst.b [A2] 0000006E 6A20 bpl +0x22 /* 00000090 */ 00000070 4EBA 036E jsr [PC + 0x36E /* 000003E0 */] 00000074 A029 syscall HLock 00000076 598F subq.l A7, 4 00000078 2F3C 4352 454C move.l -[A7], 0x4352454C /* 'CREL' */ 0000007E 3F07 move.w -[A7], D7 00000080 A9A0 syscall GetResource 00000082 4EBA 036E jsr [PC + 0x36E /* 000003F2 */] 00000086 201F move.l D0, [A7]+ 00000088 6710 beq +0x12 /* 0000009A */ 0000008A 2040 movea.l A0, D0 0000008C 4EBA 0076 jsr [PC + 0x76 /* 00000104 */] label00000090: 00000090 0252 7FFE andi.w [A2], 0x7FFE 00000094 4CDF 1FFF movem.l D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4, [A7]+ 00000098 4E75 rts label0000009A: 0000009A 700F moveq.l D0, 0x0F 0000009C A9C9 syscall SysError 0000009E 2F08 move.l -[A7], A0 000000A0 4EBA 024C jsr [PC + 0x24C /* 000002EE */] 000000A4 205F movea.l A0, [A7]+ 000000A6 A9F2 syscall Launch/LaunchApplication 000000A8 2F08 move.l -[A7], A0 000000AA 4EBA 0242 jsr [PC + 0x242 /* 000002EE */] 000000AE 205F movea.l A0, [A7]+ 000000B0 A9F3 syscall Chain label000000B2: 000000B2 4EBA 023A jsr [PC + 0x23A /* 000002EE */] 000000B6 A9F4 syscall ExitToShell fn000000B8: 000000B8 598F subq.l A7, 4 000000BA 2F3C 5A45 524F move.l -[A7], 0x5A45524F /* 'ZERO' */ 000000C0 4267 clr.w -[A7] 000000C2 A9A0 syscall GetResource 000000C4 2457 movea.l A2, [A7] 000000C6 598F subq.l A7, 4 000000C8 2F3C 4441 5441 move.l -[A7], 0x44415441 /* 'DATA' */ 000000CE 4267 clr.w -[A7] 000000D0 A9A0 syscall GetResource 000000D2 2057 movea.l A0, [A7] 000000D4 2050 movea.l A0, [A0] 000000D6 2278 0908 movea.l A1, [0x00000908 /* CurStackBase */] 000000DA 2452 movea.l A2, [A2] 000000DC 600E bra +0x10 /* 000000EC */ label000000DE: 000000DE 32D8 move.w [A1]+, [A0]+ 000000E0 660A bne +0xC /* 000000EC */ 000000E2 321A move.w D1, [A2]+ 000000E4 6002 bra +0x4 /* 000000E8 */ label000000E6: 000000E6 4219 clr.b [A1]+ label000000E8: 000000E8 51C9 FFFC dbf D1, -0x6 /* 000000E6 */ label000000EC: 000000EC BBC9 cmpa.l A5, A1 000000EE 66EE bne -0x10 /* 000000DE */ 000000F0 A9A3 syscall ReleaseResource 000000F2 A9A3 syscall ReleaseResource 000000F4 598F subq.l A7, 4 000000F6 2F3C 4452 454C move.l -[A7], 0x4452454C /* 'DREL' */ 000000FC 4267 clr.w -[A7] 000000FE A9A0 syscall GetResource 00000100 205F movea.l A0, [A7]+ 00000102 244D movea.l A2, A5 fn00000104: 00000104 A025 syscall GetHandleSize 00000106 2F08 move.l -[A7], A0 00000108 2050 movea.l A0, [A0] 0000010A E240 asr D0.w, 1 0000010C 6012 bra +0x14 /* 00000120 */ label0000010E: 0000010E 240D move.l D2, A5 00000110 3218 move.w D1, [A0]+ 00000112 0881 0000 bclr.b D1, 0x0 00000116 6704 beq +0x6 /* 0000011C */ 00000118 243A FEE6 move.l D2, [PC - 0x11A /* 00000000, value 0x0, cstring "" */] label0000011C: 0000011C D5B2 1000 add.l [A2 + D1.w], D2 label00000120: 00000120 51C8 FFEC dbf D0, -0x16 /* 0000010E */ 00000124 A9A3 syscall ReleaseResource 00000126 4E75 rts export_1: 00000128 205F movea.l A0, [A7]+ 0000012A 3218 move.w D1, [A0]+ label0000012C: 0000012C 3418 move.w D2, [A0]+ 0000012E B058 cmp.w D0, [A0]+ 00000130 57C9 FFFA dbeq D1, -0x8 /* 0000012C */ 00000134 4A42 tst.w D2 label00000136: 00000136 67FE beq -0x0 /* 00000136 */ 00000138 4EF0 20FC jmp [A0 + D2.w - 0x4] export_2: 0000013C 205F movea.l A0, [A7]+ 0000013E 3218 move.w D1, [A0]+ label00000140: 00000140 3418 move.w D2, [A0]+ 00000142 B098 cmp.l D0, [A0]+ 00000144 57C9 FFFA dbeq D1, -0x8 /* 00000140 */ 00000148 4A42 tst.w D2 label0000014A: 0000014A 67FE beq -0x0 /* 0000014A */ 0000014C 4EF0 20FA jmp [A0 + D2.w - 0x6] export_3: 00000150 205F movea.l A0, [A7]+ 00000152 3218 move.w D1, [A0]+ 00000154 3418 move.w D2, [A0]+ 00000156 B042 cmp.w D0, D2 00000158 6E0A bgt +0xC /* 00000164 */ 0000015A 9041 sub.w D0, D1 0000015C 6D06 blt +0x8 /* 00000164 */ 0000015E D040 add.w D0, D0 00000160 41F0 0002 lea.l A0, [A0 + D0.w + 0x2] label00000164: 00000164 3010 move.w D0, [A0] label00000166: 00000166 67FE beq -0x0 /* 00000166 */ 00000168 4EF0 0000 jmp [A0 + D0.w] export_4: 0000016C 202F 0004 move.l D0, [A7 + 0x4] 00000170 2F41 0004 move.l [A7 + 0x4], D1 00000174 222F 0008 move.l D1, [A7 + 0x8] 00000178 2F5F 0004 move.l [A7 + 0x4], [A7]+ 0000017C 48E7 3C00 movem.l -[A7], D2,D3,D4,D5 00000180 2400 move.l D2, D0 00000182 2601 move.l D3, D1 00000184 4842 swap.w D2 00000186 C4C3 mulu.w D2, D3 00000188 2800 move.l D4, D0 0000018A 2A01 move.l D5, D1 0000018C 4845 swap.w D5 0000018E C8C5 mulu.w D4, D5 00000190 D444 add.w D2, D4 00000192 4842 swap.w D2 00000194 4242 clr.w D2 00000196 C0C1 mulu.w D0, D1 00000198 D082 add.l D0, D2 0000019A 4CDF 003C movem.l D2,D3,D4,D5, [A7]+ 0000019E 221F move.l D1, [A7]+ 000001A0 4E75 rts export_5: 000001A2 202F 0004 move.l D0, [A7 + 0x4] 000001A6 2F41 0004 move.l [A7 + 0x4], D1 000001AA 222F 0008 move.l D1, [A7 + 0x8] 000001AE 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001B2 48E7 3100 movem.l -[A7], D2,D3,D7 000001B6 4EBA 009C jsr [PC + 0x9C /* 00000254 */] 000001BA 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001BE 221F move.l D1, [A7]+ 000001C0 4E75 rts export_6: 000001C2 202F 0004 move.l D0, [A7 + 0x4] 000001C6 2F41 0004 move.l [A7 + 0x4], D1 000001CA 222F 0008 move.l D1, [A7 + 0x8] 000001CE 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001D2 48E7 3100 movem.l -[A7], D2,D3,D7 000001D6 4EBA 007C jsr [PC + 0x7C /* 00000254 */] 000001DA 2001 move.l D0, D1 000001DC 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001E0 221F move.l D1, [A7]+ 000001E2 4E75 rts export_7: 000001E4 202F 0004 move.l D0, [A7 + 0x4] 000001E8 2F41 0004 move.l [A7 + 0x4], D1 000001EC 222F 0008 move.l D1, [A7 + 0x8] 000001F0 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001F4 48E7 3100 movem.l -[A7], D2,D3,D7 000001F8 4EBA 002C jsr [PC + 0x2C /* 00000226 */] 000001FC 4CDF 008C movem.l D2,D3,D7, [A7]+ 00000200 221F move.l D1, [A7]+ 00000202 4E75 rts export_8: 00000204 202F 0004 move.l D0, [A7 + 0x4] 00000208 2F41 0004 move.l [A7 + 0x4], D1 0000020C 222F 0008 move.l D1, [A7 + 0x8] 00000210 2F5F 0004 move.l [A7 + 0x4], [A7]+ 00000214 48E7 3100 movem.l -[A7], D2,D3,D7 00000218 4EBA 000C jsr [PC + 0xC /* 00000226 */] 0000021C 2001 move.l D0, D1 0000021E 4CDF 008C movem.l D2,D3,D7, [A7]+ 00000222 221F move.l D1, [A7]+ 00000224 4E75 rts fn00000226: 00000226 4A80 tst.l D0 00000228 6A1C bpl +0x1E /* 00000246 */ 0000022A 4A81 tst.l D1 0000022C 6A0C bpl +0xE /* 0000023A */ 0000022E 4480 neg.l D0 00000230 4481 neg.l D1 00000232 4EBA 0020 jsr [PC + 0x20 /* 00000254 */] 00000236 4481 neg.l D1 00000238 4E75 rts label0000023A: 0000023A 4480 neg.l D0 0000023C 4EBA 0016 jsr [PC + 0x16 /* 00000254 */] 00000240 4480 neg.l D0 00000242 4481 neg.l D1 00000244 4E75 rts label00000246: 00000246 4A81 tst.l D1 00000248 6A0A bpl +0xC /* 00000254 */ 0000024A 4481 neg.l D1 0000024C 4EBA 0006 jsr [PC + 0x6 /* 00000254 */] 00000250 4480 neg.l D0 00000252 4E75 rts fn00000254: 00000254 2E3C 0000 FFFF move.l D7, 0xFFFF 0000025A B280 cmp.l D1, D0 0000025C 6306 bls +0x8 /* 00000264 */ 0000025E 2200 move.l D1, D0 00000260 7000 moveq.l D0, 0x00 00000262 4E75 rts label00000264: 00000264 B087 cmp.l D0, D7 00000266 620C bhi +0xE /* 00000274 */ 00000268 80C1 divu.w D0, D1 0000026A 4840 swap.w D0 0000026C 3200 move.w D1, D0 0000026E 4240 clr.w D0 00000270 4840 swap.w D0 00000272 4E75 rts label00000274: 00000274 B287 cmp.l D1, D7 00000276 621A bhi +0x1C /* 00000292 */ 00000278 2E00 move.l D7, D0 0000027A 4240 clr.w D0 0000027C 4840 swap.w D0 0000027E 80C1 divu.w D0, D1 00000280 4840 swap.w D0 00000282 4847 swap.w D7 00000284 3E00 move.w D7, D0 00000286 4847 swap.w D7 00000288 8EC1 divu.w D7, D1 0000028A 3007 move.w D0, D7 0000028C 4847 swap.w D7 0000028E 3207 move.w D1, D7 00000290 4E75 rts label00000292: 00000292 2400 move.l D2, D0 00000294 2601 move.l D3, D1 label00000296: 00000296 E288 lsr D0, 1 00000298 E289 lsr D1, 1 0000029A B287 cmp.l D1, D7 0000029C 62F8 bhi -0x6 /* 00000296 */ 0000029E 80C1 divu.w D0, D1 000002A0 C087 and.l D0, D7 label000002A2: 000002A2 3203 move.w D1, D3 000002A4 C2C0 mulu.w D1, D0 000002A6 2E03 move.l D7, D3 000002A8 4847 swap.w D7 000002AA CEC0 mulu.w D7, D0 000002AC 4847 swap.w D7 000002AE D287 add.l D1, D7 000002B0 6508 bcs +0xA /* 000002BA */ 000002B2 9282 sub.l D1, D2 000002B4 6204 bhi +0x6 /* 000002BA */ 000002B6 4481 neg.l D1 000002B8 4E75 rts label000002BA: 000002BA 5340 subq.w D0, 1 000002BC 60E4 bra -0x1A /* 000002A2 */ fn000002BE: 000002BE 323C A9F0 move.w D1, 0xA9F0 000002C2 43FA FD80 lea.l A1, [PC - 0x280 /* 00000044, value 0x48E7FFF8 */] 000002C6 4EBA 004A jsr [PC + 0x4A /* 00000312 */] 000002CA 323C A9F2 move.w D1, 0xA9F2 000002CE 43FA FDCE lea.l A1, [PC - 0x232 /* 0000009E, value 0x2F084EBA */] 000002D2 4EBA 003E jsr [PC + 0x3E /* 00000312 */] 000002D6 323C A9F3 move.w D1, 0xA9F3 000002DA 43FA FDCC lea.l A1, [PC - 0x234 /* 000000A8, value 0x2F084EBA */] 000002DE 4EBA 0032 jsr [PC + 0x32 /* 00000312 */] 000002E2 323C A9F4 move.w D1, 0xA9F4 000002E6 43FA FDCA lea.l A1, [PC - 0x236 /* 000000B2, value 0x4EBA023A */] 000002EA 4EFA 0026 jmp [PC + 0x26 /* 00000312 */] fn000002EE: 000002EE 4EBA 00E0 jsr [PC + 0xE0 /* 000003D0 */] 000002F2 323C A9F0 move.w D1, 0xA9F0 000002F6 4EBA 0036 jsr [PC + 0x36 /* 0000032E */] 000002FA 323C A9F2 move.w D1, 0xA9F2 000002FE 4EBA 002E jsr [PC + 0x2E /* 0000032E */] 00000302 323C A9F3 move.w D1, 0xA9F3 00000306 4EBA 0026 jsr [PC + 0x26 /* 0000032E */] 0000030A 323C A9F4 move.w D1, 0xA9F4 0000030E 4EFA 001E jmp [PC + 0x1E /* 0000032E */] fn00000312: 00000312 3001 move.w D0, D1 00000314 A146 syscall GetTrapAddress, flags=1 00000316 2448 movea.l A2, A0 00000318 700C moveq.l D0, 0x0C 0000031A A51E syscall NewPtrSys, flags=5 0000031C 3001 move.w D0, D1 0000031E A047 syscall SetTrapAddress 00000320 30FC 4EB9 move.w [A0]+, 0x4EB9 00000324 20C9 move.l [A0]+, A1 00000326 30FC 4EF9 move.w [A0]+, 0x4EF9 0000032A 20CA move.l [A0]+, A2 0000032C 4E75 rts fn0000032E: 0000032E 3001 move.w D0, D1 00000330 A146 syscall GetTrapAddress, flags=1 00000332 2268 0008 movea.l A1, [A0 + 0x8] 00000336 A01F syscall DisposPtr/DisposePtr 00000338 3001 move.w D0, D1 0000033A 2049 movea.l A0, A1 0000033C A047 syscall SetTrapAddress 0000033E 4E75 rts fn00000340: 00000340 4238 0A5E clr.b [0x00000A5E /* ResLoad */] 00000344 598F subq.l A7, 4 00000346 2F06 move.l -[A7], D6 00000348 4267 clr.w -[A7] 0000034A A9A0 syscall GetResource 0000034C 265F movea.l A3, [A7]+ 0000034E 598F subq.l A7, 4 00000350 2F0B move.l -[A7], A3 00000352 A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc 00000354 261F move.l D3, [A7]+ 00000356 204B movea.l A0, A3 00000358 2803 move.l D4, D3 0000035A 3E3C 0081 move.w D7, 0x81 0000035E 6012 bra +0x14 /* 00000372 */ label00000360: 00000360 0684 0000 7FFE addi.l D4, 0x7FFE 00000366 598F subq.l A7, 4 00000368 2F06 move.l -[A7], D6 0000036A 3F07 move.w -[A7], D7 0000036C 5247 addq.w D7, 1 0000036E A9A0 syscall GetResource 00000370 205F movea.l A0, [A7]+ label00000372: 00000372 558F subq.l A7, 2 00000374 2F08 move.l -[A7], A0 00000376 A9A6 syscall GetResAttrs 00000378 301F move.w D0, [A7]+ 0000037A 0800 0005 btst.b D0, 0x5 0000037E 66E0 bne -0x1E /* 00000360 */ 00000380 50F8 0A5E st [0x00000A5E /* ResLoad */] 00000384 2004 move.l D0, D4 00000386 A11E syscall NewPtr, flags=1 00000388 2848 movea.l A4, A0 0000038A 2F0B move.l -[A7], A3 0000038C A9A2 syscall LoadResource 0000038E 204B movea.l A0, A3 00000390 2003 move.l D0, D3 00000392 3A07 move.w D5, D7 00000394 3E3C 0081 move.w D7, 0x81 00000398 9A47 sub.w D5, D7 0000039A 6012 bra +0x14 /* 000003AE */ label0000039C: 0000039C 598F subq.l A7, 4 0000039E 2F06 move.l -[A7], D6 000003A0 3F07 move.w -[A7], D7 000003A2 5247 addq.w D7, 1 000003A4 A9A0 syscall GetResource 000003A6 205F movea.l A0, [A7]+ 000003A8 203C 0000 7FFE move.l D0, 0x7FFE label000003AE: 000003AE 2F08 move.l -[A7], A0 000003B0 2050 movea.l A0, [A0] 000003B2 224C movea.l A1, A4 000003B4 D9C0 add.l A4, D0 000003B6 A02E syscall BlockMove/BlockMoveData 000003B8 A9A3 syscall ReleaseResource 000003BA 51CD FFE0 dbf D5, -0x22 /* 0000039C */ 000003BE 99C4 sub.l A4, D4 000003C0 4E75 rts 000003C2 0000 0000 ori.b D0, 0x0 export_9: 000003C6 41FA FFFA lea.l A0, [PC - 0x6 /* 000003C2, value 0x0, cstring "" */] 000003CA 20AF 0004 move.l [A0], [A7 + 0x4] 000003CE 4E75 rts fn000003D0: 000003D0 41FA FFF0 lea.l A0, [PC - 0x10 /* 000003C2, value 0x0, cstring "" */] 000003D4 2010 move.l D0, [A0] 000003D6 6602 bne +0x4 /* 000003DA */ 000003D8 4E75 rts label000003DA: 000003DA 4290 clr.l [A0] 000003DC 2040 movea.l A0, D0 000003DE 4ED0 jmp [A0] fn000003E0: 000003E0 204B movea.l A0, A3 000003E2 4A78 028E tst.w [0x0000028E /* ROM85 */] 000003E6 6A04 bpl +0x6 /* 000003EC */ 000003E8 1613 move.b D3, [A3] 000003EA 4E75 rts label000003EC: 000003EC A069 syscall HGetState 000003EE 1600 move.b D3, D0 000003F0 4E75 rts fn000003F2: 000003F2 4A78 028E tst.w [0x0000028E /* ROM85 */] 000003F6 6A04 bpl +0x6 /* 000003FC */ 000003F8 1683 move.b [A3], D3 000003FA 4E75 rts label000003FC: 000003FC 204B movea.l A0, A3 000003FE 1003 move.b D0, D3 00000400 A06A syscall HSetState 00000402 4E75 rts